home *** CD-ROM | disk | FTP | other *** search
- property sourceText, baseLine, upSprite, downSprite, displayMember, displayLines, selectedLine, normalColor, ancestor
-
- on new me, paramList
- set upSprite to getProp(paramList, #upSprite)
- set downSprite to getProp(paramList, #downSprite)
- set displayMember to getProp(paramList, #displayMember)
- set displayMember to the number of member displayMember
- set displayLines to getProp(paramList, #displayLines)
- set sourceText to getProp(paramList, #sourceText)
- set normalColor to getaProp(paramList, #normalColor)
- if (displayMember > 0) and (normalColor >= 0) then
- set the foreColor of member displayMember to translateColor(normalColor)
- end if
- set the stageColor to the stageColor
- set selectedLine to 0
- set baseLine to 1
- ScrollText(me, 0)
- return me
- end
-
- on TurnOn me, spritenum
- set delta to 0
- set waitTime to 0
- if spritenum = upSprite then
- repeat while the mouseDown
- if the ticks > waitTime then
- ScrollText(me, -1)
- set waitTime to the ticks + 15
- end if
- end repeat
- else
- if spritenum = downSprite then
- repeat while the mouseDown
- if the ticks > waitTime then
- ScrollText(me, 1)
- set waitTime to the ticks + 15
- end if
- end repeat
- end if
- end if
- end
-
- on ScrollText me, delta
- set maxTextLine to the number of lines in sourceText
- put "lines in source" && maxTextLine
- set maxOffset to maxTextLine - displayLines + 1
- set baseLine to baseLine + delta
- if baseLine < 1 then
- set baseLine to 1
- end if
- if baseLine > maxOffset then
- set baseLine to maxOffset
- end if
- set the text of member displayMember to line baseLine to baseLine + displayLines - 1 of sourceText
- if (displayMember > 0) and (normalColor >= 0) then
- set the foreColor of member displayMember to translateColor(normalColor)
- end if
- set the stageColor to the stageColor
- updateStage()
- end
-
- on TurnOff me
- end
-
- on dispose me
- if objectp(ancestor) then
- dispose(ancestor)
- end if
- set ancestor to 0
- end
-